<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <title>CruiseControl.NET : CVS Source Control Block</title>
	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
    </head>

    <body>
	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
		    <tr>
			    <td valign="top" class="pagebody">
				    <div class="pageheader">
					    <span class="pagetitle">
                            CruiseControl.NET : CVS Source Control Block
                                                    </span>
				    </div>
				    <div class="pagesubheading">
					    This page last changed on Feb 28, 2009 by <font color="#0050B2">dhommel</font>.
				    </div>

				    <h3><a name="CVSSourceControlBlock-CVSConfigurationExamples"></a>CVS Configuration Examples</h3>

<p>Please refer to <a href="Using CruiseControl.NET with CVS.html" title="Using CruiseControl.NET with CVS">Using CruiseControl.NET with CVS</a> for an overview of this block.</p>

<p>For CVS you must define where the CVS executable (if you give a relative path, it must be relative to the ccnet.exe application) is and the working directory for checked out code.</p>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Configuration Changes</b><br />
<p>As of the CCNet 1.2 release, it is now required to specify the <tt>cvsroot</tt> and <tt>module</tt> properties.  This allows the CVS provider to support automatic checkouts and to use <tt>cvs rlog</tt> instead of <tt>cvs log</tt> which improves performance.</p></td></tr></table></div>
<p><em>example using pserver authentication</em></p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;sourcecontrol type=<span class="code-quote">"cvs"</span>&gt;</span>
   <span class="code-tag">&lt;executable&gt;</span>..\tools\cvs.exe<span class="code-tag">&lt;/executable&gt;</span>
   <span class="code-tag">&lt;cvsroot&gt;</span>:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ccnet<span class="code-tag">&lt;/cvsroot&gt;</span>
   <span class="code-tag">&lt;module&gt;</span>ccnet<span class="code-tag">&lt;/module&gt;</span>
   <span class="code-tag">&lt;workingDirectory&gt;</span>c:\projects\ccnet<span class="code-tag">&lt;/workingDirectory&gt;</span>
<span class="code-tag">&lt;/sourcecontrol&gt;</span></pre>
</div></div>
<p><em>example using ssh via putty</em></p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml"><span class="code-tag">&lt;sourcecontrol type=<span class="code-quote">"cvs"</span>&gt;</span>
   <span class="code-tag">&lt;executable&gt;</span>c:\putty\cvswithplinkrsh.bat<span class="code-tag">&lt;/executable&gt;</span>
   <span class="code-tag">&lt;cvsroot&gt;</span>:ext:mycvsserver:/cvsroot/myrepo<span class="code-tag">&lt;/cvsroot&gt;</span>
   <span class="code-tag">&lt;module&gt;</span>mymodule<span class="code-tag">&lt;/module&gt;</span>
   <span class="code-tag">&lt;workingDirectory&gt;</span>c:\fromcvs\myrepo<span class="code-tag">&lt;/workingDirectory&gt;</span>
<span class="code-tag">&lt;/sourcecontrol&gt;</span></pre>
</div></div>

<h3><a name="CVSSourceControlBlock-ConfigurationElements%3A"></a>Configuration Elements:</h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Node </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Required </th>
<th class='confluenceTh'> Default </th>
</tr>
<tr>
<td class='confluenceTd'> executable </td>
<td class='confluenceTd'> The location of the cvs.exe executable. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> cvs.exe </td>
</tr>
<tr>
<td class='confluenceTd'> cvsroot </td>
<td class='confluenceTd'> The cvs connection string. If this is unspecified and your working directory contains a previous checkout, then the CVS client will attempt to determine the correct root based on the CVS folder in your working directory.  If the working directory does not contain the source, then this element must be specfied. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> true </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> module </td>
<td class='confluenceTd'> The cvs module to monitor.  This element is used both when checking for modifications and when checking out the source into an empty working directory. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> true </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> branch </td>
<td class='confluenceTd'> The branch to check for modifications on. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a name="CVSSourceControlBlock-autoGetSource"></a> autoGetSource </td>
<td class='confluenceTd'> Specifies whether the current version of the source should be retrieved from CVS. </td>
<td class='confluenceTd'> bool </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> true </td>
</tr>
<tr>
<td class='confluenceTd'> <a name="CVSSourceControlBlock-labelOnSuccess"></a> labelOnSuccess </td>
<td class='confluenceTd'> Specifies whether or not the repository should be labelled after a successful build </td>
<td class='confluenceTd'> bool </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> <a name="CVSSourceControlBlock-tagPrefix"></a> tagPrefix </td>
<td class='confluenceTd'> By default the CVS tag name used when <tt>labelOnSuccess</tt> is set to true is <tt>ver&#45;</tt><tt><em>BuildLabel</em></tt>. If you specify this property, the prefix <tt>ver&#45;</tt> will be replaced with the value you specify. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> ver&#45; </td>
</tr>
<tr>
<td class='confluenceTd'> <a name="CVSSourceControlBlock-cleanCopy"></a> cleanCopy </td>
<td class='confluenceTd'> Specifies whether or not a clean copy should be retrieved </td>
<td class='confluenceTd'> bool </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> true </td>
</tr>
<tr>
<td class='confluenceTd'> <a name="CVSSourceControlBlock-forceCheckout"></a> forceCheckout </td>
<td class='confluenceTd'> Specifies whether the checkout command should be used instead of update </td>
<td class='confluenceTd'> bool </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> <a name="CVSSourceControlBlock-useHistory"></a> useHistory </td>
<td class='confluenceTd'> Specifies whether or not to use the cvs history command to speed up modification checks </td>
<td class='confluenceTd'> bool </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> timeout </td>
<td class='confluenceTd'> Sets the timeout period for the source control operation. See <a href="Timeout Configuration.html" title="Timeout Configuration">Timeout Configuration</a> for details. </td>
<td class='confluenceTd'> Timeout </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> 10 minutes </td>
</tr>
<tr>
<td class='confluenceTd'> suppressRevisionHeader </td>
<td class='confluenceTd'> Suppresses headers that do not have revisions within the specified modification window. Setting this option to true will reduce the time that it takes for CCNet to poll CVS for changes. Only fairly recent versions of CVS support this option.  Run <tt>cvs &#45;-help log</tt> to see if the <tt>&#45;S</tt> option is listed.  This option was added in CCNet 1.2. </td>
<td class='confluenceTd'> bool </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> workingDirectory </td>
<td class='confluenceTd'> The folder that the source has been checked out into. </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> Project working directory </td>
</tr>
<tr>
<td class='confluenceTd'> restrictLogins </td>
<td class='confluenceTd'> Only list modifications checked in by specified logins </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> false </td>
</tr>
<tr>
<td class='confluenceTd'> webUrlBuilder </td>
<td class='confluenceTd'> The url builder section for the ViewCVS server. (see <a href="Using CruiseControl.NET with CVS.html" title="Using CruiseControl.NET with CVS">Using CruiseControl.NET with CVS</a>) </td>
<td class='confluenceTd'> string </td>
<td class='confluenceTd'> false </td>
<td class='confluenceTd'> none </td>
</tr>
<tr>
<td class='confluenceTd'> issueUrlBuilder </td>
<td class='confluenceTd'> Converts the comment (or parts from it) into an url pointing to the issue for this build. <br clear="all" />
See <a href="IssueUrlBuilder.html" title="IssueUrlBuilder">Issue Builder</a> for more details <br clear="all" /> </td>
<td class='confluenceTd'> Group </td>
<td class='confluenceTd'> N/A </td>
<td class='confluenceTd'> false <br clear="all" /> </td>
</tr>
</tbody></table>

				    
                    			    </td>
		    </tr>
	    </table>
	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
			<tr>
				<td height="12" background="http://confluence.public.thoughtworks.org//images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
			</tr>
		    <tr>
			    <td align="center"><font color="grey">Document generated by Confluence on Sep 29, 2009 20:59</font></td>
		    </tr>
	    </table>
    </body>
</html>